package cn.iocoder.yudao.module.jky.controller.admin.orderdetail.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 订单详情分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class OrderDetailPageReqVO extends PageParam {

    @Schema(description = "订单ID", example = "1398")
    private Integer orderId;

    @Schema(description = "订单号")
    private String orderNum;

    @Schema(description = "商品ID", example = "29019")
    private Integer goodsId;

    @Schema(description = "商品名称", example = "芋艿")
    private String goodsName;

    @Schema(description = "单价 精确到分", example = "13608")
    private Integer price;

    @Schema(description = "数量")
    private Integer num;

    @Schema(description = "总价 精确到分", example = "26759")
    private Integer allprice;

    @Schema(description = "赠送积分")
    private Integer givePoint;

    @Schema(description = "全部赠送积分")
    private Integer allGivePoint;

    @Schema(description = "分成")
    private Double proffer;

    @Schema(description = "商品SKU属性配置")
    private String sku;

    @Schema(description = "商品详情状态:1=正常,2=申请退款,3=同意退款,4=用户填写单号,5=商家验收,6=商家同意退款成功,7=拒绝退款,8=申请换货,9=同意换货,10=填写单号,11=商家验收,12=商家发货,13=用户确认收货,14=商家拒绝", example = "1")
    private Integer status;

    @Schema(description = "申请售后时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Integer[] shTime;

    @Schema(description = "申请退款退货成功时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Integer[] shSuccessTime;

    @Schema(description = "申请退款退货拒绝时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Integer[] shFailTime;

    @Schema(description = "申请原因", example = "不好")
    private String reason;

    @Schema(description = "申请说明")
    private String explain;

    @Schema(description = "申请凭证")
    private String img;

    @Schema(description = "售后状态:tk=退款,hh=换货")
    private String typelist;

    @Schema(description = "售后流程中用户退货的单号")
    private String expressNumber;

    @Schema(description = "商家换货时的发货单号")
    private String expressNumber1;

    @Schema(description = "拒绝理由", example = "不香")
    private String refuseReason;

    @Schema(description = "类型1自营商城3寄售商城", example = "2")
    private Integer type;

    @Schema(description = "供应商组ID 0代表无", example = "11129")
    private Integer supplierId;

    @Schema(description = "添加时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private String[] addtime;

    @Schema(description = "快递公司")
    private String logistics;

    @Schema(description = "快递编号")
    private String orderExpressNumber;

}
